Not Applicable.
1. Field of the Invention
The present invention relates generally to the testing of a telecommunications system, and more particularly to the automated testing of telecommunications equipment and related databases of a telecommunications system.
2. Description of Related Art
A telephone company central office will generally include various types of telecommunications equipment that are used to process calls routed through the central office. Examples of such telecommunications equipment include a local user switch, a host computer, and various voice response units (xe2x80x9cVRUsxe2x80x9d). The calls routed through the central office may consist of voice signals routed between human users, data signals routed between machines (e.g., facsimile machines or computers), or voice/data signals routed between a human user and a machine (e.g., a VRU). Typically, the details of each of these calls are logged into a call detail record (xe2x80x9cCDRxe2x80x9d) located in a CDR database residing on either the local user switch or the host computer. The CDRs are then forwarded to a data processing center where the data is periodically processed to prepare customer billings.
Over the last decade, automated test equipment has been developed that can be programmed to run a variety of different tests for the purpose of testing the functionality of telephony applications residing on the telecommunications equipment. In operation, the automated test equipment transmits voice and/or data signals to the telecommunications equipment in such a manner as to simulate the types of calls that are typically routed through the central office. The automated test equipment then detects and evaluates the response voice and/or data signals produced by the telecommunications equipment to determine if the telephony applications are operating properly.
As an example, automated test equipment has been used to test the functionality of automated messaging systems in which calls are routed through the local user switch to a particular VRU. In a typical test scenario, the test equipment places an outbound call to a particular automated messaging system to determine if the switch routes the call to the appropriate VRU (e.g., the VRU assigned to an airline reservation system). The test equipment then detects whether the VRU plays the expected audio greeting and prompt (e.g., xe2x80x9cThank you for calling ABC Airlines. Please select from the following options. For flight arrival and departure times, press 1. For domestic reservations and fares, press 2. For international reservations and fares, press 3. For all other calls, please stay on the line.xe2x80x9d). Then, the test equipment runs a calling script that tests each available option of the automated messaging system to determine whether the call is routed to the appropriate destination. In this manner, the test equipment is able to test the functionality of the automated messaging system with minimal involvement from a test person.
While automated test equipment has greatly improved the testing of telephony applications residing on telecommunications equipment, it has not been capable of validating the data stored within related databases that is generated as a result of the tests. Instead, for example, after one or more test calls have been run on the telecommunications equipment, the CDRs located in the CDR database are typically checked on a manual basis. To do so, a test person must log into a Workstation, access the CDR database, enter a command to retrieve the appropriate CDR associated with a particular test call, and visually check the fields of the CDR to determine if the call details were properly logged into the CDR database. As can be appreciated, the process of manually checking the accuracy of every CDR for every test call placed during a test session can be a very tedious, time consuming, and inefficient process. In addition, because the checking of the CDRs is done by a test person, the test results are prone to human errors. Therefore, there is a need for an automated test system that can be used not only to test the functionality of telephony applications residing on telecommunications equipment, but also to validate the data contained within related databases.
The present invention is directed to a system and method for the automated testing of a telecommunications system that can be used to test the functionality of telephony applications residing on telecommunications equipment and to validate the data contained within related databases that is generated as a result of the tests. Preferably, the system and method utilize a capture/playback tool programmed to emulate the interaction of a test person on a workstation of the test system by recording and replaying keystrokes and mouse point-and-click actions on the workstation for purposes of automating the testing process. In an exemplary embodiment, the automated test system is used to test the functionality of an automated messaging system and the accuracy of associated CDRs located in a CDR database.
In an exemplary test configuration, the automated test system is connected to a system-under-test via a communication network. The system-under-test includes a local user switch, a host computer, and a plurality of VRUs. Residing on the host computer is a CDR database. The automated test system includes a workstation, telecommunications test equipment, and a server. Residing on the server are a plurality of software applications and databases, including a test manager, a capture/playback tool, testing software for the telecommunications test equipment, and a test results database.
In operation, a test person logs into the workstation of the automated test system and opens the test manager. At this point, a list of all possible tests that can be run on the system-under-test appears on the screen of the workstation. The test person views the list and selects one or more tests to be run. The test person also enters the desired date and time for the selected tests to be run.
When it is the correct date and time to start the selected tests, the test manager is programmed to retrieve the test scripts for the selected tests from the capture/playback database. Preferably, there is a separate test script for each of the selected tests. As such, the number of test scripts retrieved from the capture/playback database will equal the number of selected tests.
Next, the test manager is programmed to direct the capture/playback software to execute the test script for each of the selected tests. For each test script executed, the capture/playback software is programmed to start a new session within the CDR database, and type the appropriate command to retrieve the current date and time from the CDR. database clock. This date and time is then used to formulate a query that, when entered later on, will retrieve the CDR from the CDR database that corresponds with the test calls that are about to be run. The capture/playback software then minimizes the session within the CDR database.
Next, the capture/playback software is programmed to notify the test manager that the test is starting. The capture/playback software then directs the testing software of the telecommunications test equipment to run various calling scripts that are designed to test the functionality of the automated messaging system. The results of these test calls are logged to the test results database.
The capture/playback software is programmed to then re-open the session within the CDR database and hit xe2x80x9centerxe2x80x9d to run the query formulated above and retrieve the CDR from the CDR database that corresponds with the test calls. The CDRs retrieved from the CDR database are compared against a CDR reference retrieved from the capture/playback database, and the results of this comparison are logged into the test results database. The capture/playback software is programmed to then notify the test manager that the test is complete.
The test manager is programmed to compile all of the test results written to the test results database and check if any of the tests failed. If they did, the test manager logs the test results into the test results database as an overall fail. On the other hand, if none of the tests failed, the test manager logs the test results into the test results database as an overall pass.
The present invention will be better understood from the following detailed description of the invention, read in connection with the drawings as hereinafter described.